import {UserDto} from "@/api/web/UserApi.ts";
import {create} from "zustand";
import {IUserStoreData, userStoreLocal} from "@/store/LocalStore.ts";

interface IUserStore extends IUserStoreData {
    setUser: (userDto: UserDto) => void
}

const useUserStore = create<IUserStore>((set) => {
    let userStore = userStoreLocal.get();
    if (userStore == null) {
        userStore = {
            userDto: null,
        }
    }
    const setUser = (userDto: UserDto) => {
        userStoreLocal.set({userDto})
        set({userDto})
    }

    return {
        ...userStore,
        setUser,
    }
})

export default useUserStore
